\documentclass[border=5pt, multi, tikz]{standalone}
\usepackage{import}
\subimport{./layers}{init}

\def\InScale{0.20}
\def\XxScale{0.20}
\def\FcScale{0.05}

\begin{document}
\begin{tikzpicture}
    \tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7,->]

    % input
    \pic[shift={(0,0,0)}] at (0,0,0) {Box={name=in0,caption=Input,
    ylabel=32,xlabel={{32,}},zlabel= 1,fill=\InputColor,
    height=32, width=  32   , depth= 1,scale=\InScale}};

    % kernel
    \pic[shift={(-0.5,0,0)}] at (in0-anchor) {Box={name=kn1,
    ylabel=5,xlabel={{5,}},zlabel= 1,fill=\InputColor,
    height=5, width=  5   , depth= 1,scale=\InScale}};

    % relu
    \pic[shift={(1.5,0,0)}] at (in0-east) {Box={name=rl1,caption=Sigmoid,
    ylabel=28,xlabel={{28,}},zlabel= 6,fill=\ConvColor,
    height=28, width=  28   , depth= 6,scale=\XxScale}};

    \draw [connection]  (kn1-east) -- node [above left] {Conv} (rl1-west);

    % kernel
    \pic[shift={(-0.5,0,0)}] at (rl1-anchor) {Box={name=kn2,
    ylabel=2,xlabel={{2,}},fill=\ConvColor,
    height=2, width=  2   , depth= 0,scale=\XxScale}};

    % pool
    \pic[shift={(1.5,0,0)}] at (rl1-east) {Box={name=pl1,caption=Pool,
    ylabel=14,xlabel={{14,}},zlabel= 6,fill=\PoolColor,opacity=0.5,
    height=14, width=  14   , depth= 6,scale=\XxScale}};

    \draw [connection]  (kn2-east) -- node [above left] {Max} (pl1-west);

    % kernel
    \pic[shift={(-0.5,0,0)}] at (pl1-anchor) {Box={name=kn3,
    ylabel=5,xlabel={{5,}},zlabel= 6,fill=\PoolColor,
    height=5, width=  5   , depth= 6,scale=\XxScale}};

    % relu
    \pic[shift={(2,0,0)}] at (pl1-east) {Box={name=rl2,caption=Sigmoid,
    ylabel=10,xlabel={{10,}},zlabel=16,fill=\ConvColor,
    height=10, width=  10   , depth= 6,scale=\XxScale}};

    \draw [connection]  (kn3-east) -- node [above right] {Conv} (rl2-west);

    % kernel
    \pic[shift={(0,0,0)}] at (rl2-anchor) {Box={name=kn4,
    ylabel=2,xlabel={{2,}},fill=\ConvColor,
    height=2, width=  2   , depth= 0,scale=\XxScale}};

    % pool
    \pic[shift={(2,0,0)}] at (rl2-east) {Box={name=pl2,caption=Pool,
    ylabel= 5,xlabel={{ 5,}},zlabel=16,fill=\PoolColor,opacity=0.5,
    height= 5, width=   5   , depth= 6,scale=\XxScale}};

    \draw [connection]  (kn4-east) -- node [above right] {Max} (pl2-west);

    % fc
    \pic[shift={(2,0,0)}] at (pl2-east) {Box={name=fc3,caption=Sigmoid,
    zlabel=120,fill=\FcColor,
    height=120,width=2,depth=0,scale=\FcScale}};

    \draw [connection]  (pl2-east) -- node [above] {FC} (fc3-west);

    % fc
    \pic[shift={(2,0,0)}] at (fc3-east) {Box={name=fc4,caption=Sigmoid,
    zlabel=84,fill=\FcColor,
    height=84,width=2,depth=0,scale=\FcScale}};

    \draw [connection]  (fc3-east) -- node [above] {FC} (fc4-west);

    % fc
    \pic[shift={(2,0,0)}] at (fc4-east) {Box={name=fc5,caption=RBF,
    zlabel=10,fill=\SoftmaxColor,
    height=10,width=2,depth=0,scale=\FcScale}};

    \draw [connection]  (fc4-east) -- node [above] {GC} (fc5-west);

\end{tikzpicture}
\end{document}
